package com.hjl.dao;

import com.hjl.domain.Emp_Dept_Job_inf;
import com.hjl.domain.Employee_inf;

import java.util.List;
import java.util.Map;

/**
 * 员工数据访问层
 *
 * @author Lenovo
 * @version 1.0
 * @date 2021/10/8 13:47
 */
public interface EmployeeDao {
    /**
     * 查找总页数
     *
     * @param condition 状态
     * @return int
     * @author Lenovo
     * @date 2021/10/8 13:47
     */
    int findTotalCount(Map<String, String[]> condition);

    /**
     * 查找当前页的数据集合
     *
     * @param start     起始页
     * @param rows      每页记录数
     * @param condition 状态
     * @return java.util.List<com.hjl.domain.Emp_Dept_Job_inf>
     * @author Lenovo
     * @date 2021/10/8 13:47
     */
    List<Emp_Dept_Job_inf> findByPage(int start, int rows, Map<String, String[]> condition);

    /**
     * 删除
     *
     * @param id ID
     * @author Lenovo
     * @date 2021/10/8 13:48
     */
    void delEmployee(int id);

    /**
     * 通过id查找（用于编辑）
     *
     * @param id ID
     * @return com.hjl.domain.Emp_Dept_Job_inf
     * @author Lenovo
     * @date 2021/10/8 13:48
     */
    Emp_Dept_Job_inf findEmployeeById(int id);

    /**
     * 更新
     *
     * @param employee 员工对象
     * @author Lenovo
     * @date 2021/10/8 13:48
     */
    void updateEmployee(Employee_inf employee);

    /**
     * 添加
     *
     * @param employee 员工对象
     * @author Lenovo
     * @date 2021/10/8 13:48
     */
    void addEmployee(Employee_inf employee);

    /**
     * 查找所有
     *
     * @return java.util.List<com.hjl.domain.Emp_Dept_Job_inf>
     * @author Lenovo
     * @date 2021/10/8 13:49
     */
    List<Emp_Dept_Job_inf> findAllEmployee();

    /**
     * 查找身份证号
     *
     * @return java.util.List<java.lang.String>
     * @author Lenovo
     * @date 2021/10/8 13:49
     */
    List<String> findCardIds();

    /**
     * 查找身份证号（排除自己）
     *
     * @param id ID
     * @return java.util.List<java.lang.String>
     * @author Lenovo
     * @date 2021/10/8 13:50
     */
    List<String> findCardIds(String id);
}
